#ifndef _TD_STANDARDSHELL_SHOT_H_
#define _TD_STANDARDSHELL_SHOT_H_

#include "Core/Utils.h"

/************************************************************************/
/* Game																	*/
/************************************************************************/
#include "Game/Game Objects/Towers/Shots/BaseShot.h"


namespace TD_Game {

	class StandardShot : public BaseShot {

		shotTypes m_shotType;
		shared_ptr<SDLSound> m_pHittedSound;
		shared_ptr<SDLSound> m_pLaunchSound;
	protected:

		/************************************************************************/
		/* Protected functions                                                  */
		/************************************************************************/
		void hitTarget();
	
	public:

		/************************************************************************/
		/* ctors and dtors					                                    */
		/************************************************************************/
		//Default constructor
		explicit StandardShot();

		//Copy constructor
		explicit StandardShot(const StandardShot &rhs);

		//Assignment constructor
		StandardShot& operator=(const StandardShot &rhs);

		//Initialization
		explicit StandardShot(const Coord2D &initialPosition, unsigned int g_shotDamage, const BaseMario *targetCreep, unsigned int creepID, shotTypes shotType);

		//Destructor
		~StandardShot();


	};
}

#endif